/*
    开始时间：2024/3/3
    作者：剑痴
    内容：对进程信号的产生进行学习和测试
    结束时间：2024/3/3
*/
#include <iostream>
#include <cstdio>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
#include <signal.h>
using  namespace std;

//使用说明
void Usage(char* progress)
{
    cout<<progress<<"的使用方法：执行程序  进程信号  某进程的pid"<<endl;
}
int count = 0;
void handler(int sigo)
{
    //cout<<"进程信号sigo："<<sigo<<endl;
     unsigned int n = alarm(10);
     cout<<n<<endl; //查看闹钟剩余的秒数
    //cout<<"count:"<<count<<endl;
    //exit(0);
    alarm(0);  //取消闹钟
}


int main(int argc,char* argv[])
{
    // if(argc != 3)
    // {
    //     Usage(argv[0]);  //使用说明
    //     exit(1);
    // }
    // int _signal = atoi(argv[1]);
    // int _pid = atoi(argv[2]);
    // kill(_pid,_signal);
    // signal(6,handler);
    // abort();
    // while (true)
    // {
    //     cout << "我是一个进程，正在执行..... pid：" << getpid() << endl;
    //     sleep(1);
    // }
    cout<<"pid:"<<getpid()<<endl;
    signal(SIGALRM,handler);
    alarm(10);
    while(true)
    {
      sleep(1);
    }
    //while(true) count++;
    // {
    //  cout<<"cout:"<<count++<<endl;
    // }
  
    return 0;
}

